package com.yss.reportworld.domain.arrwrap;


import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yss.common.core.annotation.ExcelValid;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.yss.common.core.web.domain.BaseEntity;
import org.springframework.stereotype.Component;

/**
 * 报配置-报数据模型对象 rw_db_tp_rep_basic_report_model
 *
 * @author yss
 * @date 2023-07-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("rw_db_tp_rep_basic_report_model")
@Component("TpRepBasicReportModel")
public class TpRepBasicReportModel extends Model<TpRepBasicReportModel> {

    /**
     * 技术主键
     */
    @ExcelProperty("ID")
    @TableId("ID")
    private String id;

    /**
     * 报表基本信息关联ID
     */
    @ExcelProperty("BASIC_INFO_ID")
    @TableField("BASIC_INFO_ID")
    @ExcelValid(message = "【TP_REP_BASIC_REPORT_MODEL】【BASIC_INFO_ID】不能为空")
    private String basicInfoId;

    /**
     * 报表标题
     */
    @ExcelProperty("REPORT_TITLE")
    @TableField("REPORT_TITLE")
    @ExcelValid(message = "【TP_REP_BASIC_REPORT_MODEL】【REPORT_TITLE】不能为空")
    private String reportTitle;

    /**
     * 报表参数
     */
    @ExcelProperty("REPORT_PARAMS")
    @TableField("REPORT_PARAMS")
    @ExcelValid(message = "【TP_REP_BASIC_REPORT_MODEL】【REPORT_PARAMS】不能为空")
    private String reportParams;

    /**
     * 报表纵向表头
     */
    @ExcelProperty("REPORT_V_HEADER")
    @TableField("REPORT_V_HEADER")
    @ExcelValid(message = "【TP_REP_BASIC_REPORT_MODEL】【REPORT_V_HEADER】不能为空")
    private String reportVHeader;

    /**
     * 报表横向表头
     */
    @ExcelProperty("REPORT_H_HEADER")
    @TableField("REPORT_H_HEADER")
    @ExcelValid(message = "【TP_REP_BASIC_REPORT_MODEL】【REPORT_H_HEADER】不能为空")
    private String reportHHeader;

    /**
     * 报表填表说明
     */
    @ExcelProperty("REPORT_FOOTER")
    @TableField("REPORT_FOOTER")
    @ExcelValid(message = "【TP_REP_BASIC_REPORT_MODEL】【REPORT_FOOTER】不能为空")
    private String reportFooter;

    /**  */
    @ExcelProperty("REPORT_BODY")
    @TableField("REPORT_BODY")
    @ExcelValid(message = "【TP_REP_BASIC_REPORT_MODEL】【REPORT_BODY】不能为空")
    private String reportBody;

    /**
     * 数据编码
     */
    @ExcelIgnore
    @TableField("RW_DB_ID")
    private String rwDbId;

}
